package org.javaboy.demo;

import net.sf.cglib.proxy.Enhancer;

public class CglibDemo {
    public static void main(String[] args) {
        Enhancer enhancer = new Enhancer();
        //设置父类
        enhancer.setSuperclass(UserService.class);
        //设置拦截器
        enhancer.setCallback(new MyMethodInterceptor());
        //可以设置代理对象需要实现的接口
        //CGLIB 动态代理，既能代理有接口的类，也能代理无接口的类
        //enhancer.setInterfaces();
        //生成代理对象，这个代理对象相当于是 UserService 的子类所产生的对象
        UserService userService = (UserService) enhancer.create();
        String s = userService.sayHello();
        System.out.println("s = " + s);
    }
}
